It patches the Appearance Manager so that you can set the minimum font smoothing size to a value lower than 12 points. It actually sets the lower bound to 6 points, since you probably cant read anything smaller!
How do you install and use it?
Put SmallerFontSmoothing in your Extensions folder.
Run SetMinimumFontSmoothingSize to set the minimum font smoothing size.
Reboot.
Why do you need SetMinimumFontSmoothingSize?
Well, the Appearance Control Panel refuses to use the smaller size when you reboot, so it disables smoothing. The script reenables smoothing and the size you choose. It also saves the size to a preferences file for SmallerFontSmoothing to use.
What if I want to change the size that SetMinimumFontSmoothingSize uses?
Run the SetMinimumFontSmoothingSize script, you will be prompted for a new size.
What doesn't this extension do?
It does not patch the Appearance Control Panel.
You cannot change the value in the Appearance Control Panel to a value below 12.
What good is this hack if you cant change the font size in the Appearnace control panel?!
You can change it, you just need to use AppleScript to do so.
Run the included SetMinimumFontSmoothingSize applet, and enter your desired minimum font smoothing size.
Why does my screen redraw when the SetMinimumFontSmoothingSize script runs?
That's how the Appearance Control Panel works. Sorry.
How does the extension work?
This extension uses some undocumented Virtual Memory manager calls in order to patch the loaded AppearanceLib code fragment's SetThemeFontSmoothing code. This extension works on MacOS 8.6 and 9.0.
This extension DOES NOT modify any files on disk. All patches are done in RAM.
If you want to make the patch permanent, read the Original Hack Email.txt file for how to patch the System file.
Why did this thing come into existance?
Originally, Rick Roe, a friend from MacWarriors of ACM@UIUC, proposed that someone should figure out how to get smaller font smoothing sizes. That sounded like a challenge to me. So I figured it out. See the Original Hack Email.txt file if you would like to make this a permanent change to your Mac.
Then Mark Flider from the MacWarriors of ACM@UIUC said "could the font smoothing hack be compacted into an extension?" on November 1st, 1999. Sounded like another challenge. :-) Took me a couple hours one night to make a prototype application, and then another night to make the extension.
Should you worry?
I use it myself. Works fine for me.
Note that VM swapping could cause this patch to be overriden if the AppearanceLib fragment is reloaded from disk. This should only happen if you run really really really low on free physical RAM.
If a program requests a private copy of the AppearanceLib, it might not get the patched version of the SetThemeFontSmoothing code. I don't know of any programs that do this, since it would, well, it would be dumb to load a duplicate copy of the library.
This software comes with no guarantees of quality, usability or suitability. Using it means you accept any problems it may cause as your own.
Files
About SmallerFontSmoothing - This document.
SmallerFontSmoothing - Does the work of patching AppearanceLib and resetting the prefs that Appearance Manager forgot.
SetMinimumFontSmoothingSize - Saves the minimum font smoothing size you choose into a preference file so SmallerFontSmoothing can use it at the next reboot.
Reset Preferences - Resets the preferences file.
Original Hack Email.txt - Describes the story behind the hack. Also describes a patch for modifying the System file to make the patch permanent.
SmallerFontSmoothingApp - The original application hack. Gives extra info about the state of the patch. It will repatch the system if the patch disappears. It does not update the Appearance Manager's preferences file.
Feedback
I have a few ideas of where I can go with this program.
If you can think of any simple hacks that you'd like to see, I can probably do it.
Feel free to mail me suggestions, but I might have already thought of them! =-)
If you are having problems with this program, too bad. I'll listen to your complaints, but I might not reply to them. ;-)
Version History
v1.0.1: Added a way to save the minimum font smoothing size when you run the SetMinimumFontSmoothingSize script. This allows me to restore the size from the extension since the AppearanceLib "forgets" the minimum font smoothing size. Includes more history now. 11/6/1999